1. 데이터 수집과 시각화
이 단원의 핵심
데이터 단원은 "데이터가 있다"에서 끝나지 않고 문제 정의 → 수집 → 전처리 → 시각화의 흐름으로 이해해야 한다. 개념 정의보다 예시를 보고 어느 개념인지 판단하는 연습이 중요.
1. 빅데이터의 3V
빅데이터는 단순히 양이 많은 데이터만 뜻하지 않음. 양이 많고(Volume), 형태가 다양하며(Variety), 빠르게 생성·처리되는(Velocity) 특징을 함께 봄.
용어 정리
- 빅데이터 (Big Data): 기존 방식으로 다루기 어려울 만큼 크고 다양하며 빠르게 생성되는 데이터
| 특징 | 뜻 | 예시 | 판단 기준 |
|---|---|---|---|
| Volume (규모) | 데이터의 양이 많음 | 전국 교통량, 병원 진료 기록, 구매 기록 | "얼마나 많은가" |
| Variety (다양성) | 데이터 형태가 다양함 | 표, 사진, 댓글, 영상, 위치 정보 | "형태가 얼마나 다양한가" |
| Velocity (속도) | 빠르게 생성·처리됨 | 실시간 교통 정보, 날씨 센서, 주식 가격 | "얼마나 빠른가" |
3V 한눈에:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Volume Variety Velocity
규모 다양성 속도
│ │ │
얼마나 많은가 형태가 다양한가 얼마나 빠른가
│ │ │
교통량 기록 표·사진·영상 실시간 센서·주가
2. 데이터의 형태
| 구분 | 설명 | 예시 |
|---|---|---|
| 정형 데이터 | 행과 열처럼 구조가 정해진 데이터 | 엑셀 표, 성적표, 데이터베이스 |
| 비정형 데이터 | 일정한 구조로 정리하기 어려운 데이터 | 영상, 사진, 음성, 자유형 댓글 |
| 반정형 데이터 | 규칙은 있지만 표처럼 고정된 형태는 아닌 데이터 | JSON, XML |
구분 포인트
JSON·XML은 반정형. 표(엑셀/DB)는 정형, 사진·영상·음성은 비정형. "표로 딱 떨어지나? / 규칙은 있지만 표는 아닌가? / 아예 구조가 없나?"로 판단.
3. 데이터 수집 방법
3.1. 직접 수집
문제 해결에 필요한 데이터를 직접 측정·조사하는 방법. 센서, 설문 조사, 관찰, 피지컬 컴퓨팅 등.
| 장점 | 단점 | 예시 |
|---|---|---|
| 필요한 데이터를 직접 설계해 모음 | 시간·비용이 들고, 표본이 작거나 편향되면 결과가 부정확 | 매점 방문자 수, 학교 앞 보행자 수, 만족도 설문 |
3.2. 공유 데이터 활용
국가기관·지자체·기업·연구기관 등이 이미 수집해 공개한 데이터를 활용.
| 장점 | 단점 | 예시 |
|---|---|---|
| 많은 데이터를 빠르게 확보 | 원하는 형태가 아닐 수 있어 전처리가 필요할 수 있음 | 공공데이터포털, 서울 열린데이터광장, 국가통계포털, AIHub, Kaggle |
순서 주의
문제 해결에 필요한 데이터가 무엇인지 먼저 정해야 수집 방법도 정할 수 있다.
4. 데이터 형식: CSV / JSON / API
| 개념 | 뜻 | 예시 | 기억할 점 |
|---|---|---|---|
| CSV | 쉼표로 값을 구분한 텍스트 데이터 | 이름,점수 / 가온,90 |
표 데이터처럼 다루기 쉬움 |
| JSON | 속성명과 속성값을 쌍으로 표현한 데이터 | {"name":"가온","score":90} |
웹·앱·게임 데이터 전송에 자주 쓰임 |
| API | 프로그램끼리 데이터를 주고받는 통로·약속 | 날씨 앱이 기상청 데이터 요청 | API 결과가 CSV나 JSON일 수 있음 |
CSV vs JSON 구조 비교:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[CSV] - 표에 가까움 [JSON] - 중첩 구조에 강함
이름,정보,미술 {
가온,80,90 "이름": "가온",
나래,70,10 "정보": 80
}
→ 행과 열 → 속성명 : 속성값 (쌍)
→ 정형 데이터에 적합 → 반정형 데이터
용어 정리
- CSV (Comma Separated Values): 쉼표로 값을 구분한 텍스트 형식
- JSON (JavaScript Object Notation): 속성명·속성값 쌍으로 구성하는 데이터 형식
- API (Application Programming Interface): 프로그램 간 데이터를 주고받는 약속·통로
5. 전처리
전처리는 데이터를 분석하기 좋은 형태로 정리하는 과정. 원본은 사람이 바로 이해하거나 계산하기 어려운 경우가 많음.
| 전처리 종류 | 설명 | 예시 |
|---|---|---|
| 결측값 처리 | 비어 있는 값을 채우거나 제거 | 점수가 비어 있는 행 확인 |
| 이상값 처리 | 비정상적으로 크거나 작은 값 확인 | 나이가 999로 입력된 경우 |
| 불필요한 열 제거 | 분석에 필요 없는 속성 삭제 | 저장일시, 관리번호 삭제 |
| 코드값 변환 | 숫자 코드를 실제 이름으로 변경 | 101 → 종로구, 9 → PM2.5 |
| 자료형 변환 | 문자열을 숫자나 날짜로 변경 | '80' → 80 |
전처리 vs 시각화
전처리는 분석 전에 하는 정리 작업, 시각화는 분석 결과를 보기 쉽게 표현하는 작업. (👉 실습: Colab 실습 가이드에서 측정소 코드 → 이름 변환으로 확인)
6. 시각화
데이터를 표·그래프·도표로 표현해 쉽게 이해할 수 있게 만드는 과정. 중요한 것은 "어떤 그래프가 예쁜가"가 아니라 "목적에 맞는 그래프인가".
| 그래프 | 적합한 경우 | 예시 |
|---|---|---|
| 막대그래프 | 항목별 크기 비교 | 지역별 미세먼지 평균, 과목별 평균 |
| 꺾은선그래프 | 시간에 따른 변화 | 연도별 출생아 수, 시간대별 온도 |
| 원그래프 | 전체 중 비율 | 등교수단 비율, 선호 과목 비율 |
| 산점도 | 두 변수의 관계 | 공부 시간과 점수, 슈팅 능력과 주급 |
| 히트맵 | 값의 크기를 색으로 | 시간대별·지역별 혼잡도 |
목적별 그래프 선택:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
비교하고 싶다 → 막대그래프
시간 변화를 보고 싶다 → 꺾은선그래프
전체 중 비율을 보고 싶다 → 원그래프
두 변수 관계를 보고 싶다 → 산점도
값의 크기를 한눈에 → 히트맵
자주 틀리는 포인트
산점도는 시간 변화 그래프가 아니라 두 변수의 관계를 보는 그래프. 시간 변화는 꺾은선그래프.
핵심 요약
1단원 데이터 수집과 시각화 요약:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[빅데이터 3V]
├─ Volume : 양 (얼마나 많은가)
├─ Variety : 다양성 (형태가 다양한가)
└─ Velocity: 속도 (얼마나 빠른가)
[데이터 형태]
├─ 정형 : 표·DB
├─ 비정형 : 영상·사진·음성·댓글
└─ 반정형 : JSON·XML
[수집 방법]
├─ 직접 수집 : 설계 자유 ↔ 시간·비용·편향
└─ 공유 데이터: 빠른 확보 ↔ 전처리 필요
[데이터 형식]
├─ CSV : 쉼표 구분 표 텍스트
├─ JSON: 속성명-값 쌍 (반정형)
└─ API : 프로그램 간 데이터 통로
[전처리] 분석 전 정리
└─ 결측·이상값, 열 제거, 코드값/자료형 변환
[시각화] 목적에 맞게 선택
├─ 막대(비교) · 꺾은선(시간) · 원(비율)
└─ 산점도(관계) · 히트맵(크기)
관련 노트
- 2. 알고리즘과 프로그래밍 — CSV를 코드로 읽고 처리하기
- Colab 실습 가이드 — 전처리·시각화 직접 실행
- Orange 실습 가이드 — 노코드로 데이터 분석
- 개념 비교표 · 시험 전 체크리스트